package com.api.entity;


import com.api.log.FieldAnnotation;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.activerecord.Model;

import java.util.Date;


import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

/**
* 系统日志表 实体类。
*
* @author yangsf
* @since 2024-10-22
*/
@Accessors(chain = true)
@Data(staticConstructor = "create")
@EqualsAndHashCode(callSuper = true)
@Table("tb_sys_log")
public class SysLog extends Model<SysLog> {

private static final long serialVersionUID = 1L;

    @Id(keyType = KeyType.Auto)
    @FieldAnnotation("id")
    private Long id;

    /**
    * 操作账号
    */
    @FieldAnnotation("操作账号")
    private String loginName;

    /**
    * 操作人名称
    */
    @FieldAnnotation("操作人名称")
    private String userName;

    /**
    * 操作人
    */
    @FieldAnnotation("操作人")
    private Long operId;

    /**
    * 请求的接口
    */
    @FieldAnnotation("请求的接口")
    private String logValue;

    /**
    * 请求的方法
    */
    @FieldAnnotation("请求的方法")
    private String classMethod;

    /**
    * 操作人的IP
    */
    @FieldAnnotation("操作人的IP")
    private String operIp;

    /**
    * 请求的参数
    */
    @FieldAnnotation("请求的参数")
    private String requestArgs;

    /**
    * 返回参数
    */
    @FieldAnnotation("返回参数")
    private String resArg;

    /**
    * 操作时间
    */
    @Column(onInsertValue = "now()")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @FieldAnnotation("操作时间")
    private Date createTime;

    /**
    * 操作耗时
    */
    @FieldAnnotation("操作耗时")
    private Long takeTime;

}
